#include "Rp2Catalog.h"

// Create catalogs for these graphics resources.
#include "Rp2Image.h"
#include "Rp2Texture.h"
#include "Rp2PixelProgram.h"
#include "Rp2VertexProgram.h"

namespace Rp2
{
//----------------------------------------------------------------------------
// explicit instantiation
//----------------------------------------------------------------------------

template class Catalog<Image>;
template<> Catalog<Image>* Catalog<Image>::ms_pkActive = 0;
template<> std::vector<Catalog<Image>*>
    Catalog<Image>::ms_apkCatalogs = std::vector<Catalog<Image>*>();

template class Catalog<Texture>;
template<> Catalog<Texture>* Catalog<Texture>::ms_pkActive = 0;
template<> std::vector<Catalog<Texture>*>
    Catalog<Texture>::ms_apkCatalogs = std::vector<Catalog<Texture>*>();

template class Catalog<PixelProgram>;
template<> Catalog<PixelProgram>* Catalog<PixelProgram>::ms_pkActive = 0;
template<> std::vector<Catalog<PixelProgram>*>
    Catalog<PixelProgram>::ms_apkCatalogs = std::vector<Catalog<PixelProgram>*>();

template class Catalog<VertexProgram>;
template<> Catalog<VertexProgram>* Catalog<VertexProgram>::ms_pkActive = 0;
template<> std::vector<Catalog<VertexProgram>*>
    Catalog<VertexProgram>::ms_apkCatalogs = std::vector<Catalog<VertexProgram>*>();
}

